package com.ruoyi.project.common.enums;

import com.ruoyi.common.utils.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 状态枚举
 *
 * @author mengyuanqing
 * @date 2020/5/16
 */
@AllArgsConstructor
@Getter
public enum OrderOpreate {
    /**
     * 2:【存储成功】点击后订单为预约提取和申请转运，状态为等待关箱
     */
    STORAGE_SUS("app", 2),

    /**
     * 3:【申请转运】填写转运地址电话姓名等,点击后状态为等待转运
     */
    APPLICATION_TRAN("app", 3),

    /**
     * 6:【预约提取】点击后状态为订单完成
     */
    ORDER_EXTRACT("app", 6),

    /**
     * 7:【订单完成】点击后状态为删除订单
     */
    ORDER_SUS_APP("app", 7),

    /**
     * 8:【删除订单】
     */
    DELETE_ORDER("app", 8),

    /**
     * 4:【发送行李】// 点击后变为行李到达
     */
    SEND_HEAVY("backend", 4),

    /**
     * 5:【行李到达】// 点击后变为等待完成
     */
    HEAVY_ARR("backend", 5),

    /**
     * 8:【订单完成】
     */
    ORDER_SUS("backend", 8);

    /**
     * 终端
     */
    private String terminal;

    /**
     * 操作
     */
    private Integer status;

    /**
     * 获取操作
     *
     * @param terminal 终端类型
     * @param status 操作
     * @return
     */
    public static OrderOpreate getoperate(String terminal, Integer status) {
        // 通过foreach方法遍历我前端给我传来的数据
        for (OrderOpreate orderOpreate : OrderOpreate.values()) {
            // 如果匹配到了状态
            if (StringUtils.equals(terminal,orderOpreate.getTerminal()) && status.equals(orderOpreate.getStatus())) {
                // 则返回这个状态
                return orderOpreate;
            }
        }
        // 如果没匹配到我去返回null
        return null;
    }
}